7
תגובות
נגיד יש את הפקודה הבאה:

preg_replace($pattern,function,$string)


עכשיו, אני רוצה שהפונקצייה function תעבוד על כל הפריטים המוחלפים,
לדוגמה אם הפטרן היה על כל המילים שמתחילות באות A , אז אני רוצה שעל כל המילים האלה תופעל הפונקציה X.

איך אני עושה את זה?

7 תשובות

avatar ענה OrelBeY ב 14 לפברואר 2013 #

תאכסן את הפונקציה בתוך משתנה.
תקרא קצת על על פונקציות אנונימיות.

avatar ענה משהה ב 14 לפברואר 2013 #

אבל אם זו פונקציה מובנת ? עדיין לאכסן אותה בתור משתנה ?

avatar ענה OrelBeY ב 14 לפברואר 2013 #

זה תלוי... זה תמיד יהיה פונקציה מובנית, או שזה יכול להיות גם וגם?
עריכה: רגע, פספסתי משהו בשאלה שלך. תכף אתקן.

avatar ענה משהה ב 14 לפברואר 2013 #

מה שאני רוצה לעשות זה להשתמש בפונקצייה מובנית והיא תפעל על הביטויים , השאלה האם לאכסן גם אותה בתוך משתנה?
לעשות כאילו :
[/php] preg_replace($pattern, function($arg) { myfunction } , $string)[php]
?

avatar ענה OrelBeY ב 14 לפברואר 2013 #

במקרה הזה אתה לא יכול להשתמש ב-preg_match, אתה צריך preg_replace_callback. בפרמטר השני תשים פונקציה אנונימית שתעשה את מה שתעשה, ואז תחזיר את מחרוזת ה-replace.

avatar ענה משהה ב 14 לפברואר 2013 #

לפי הדוגמאות ומה שהבנתי, אני עושה אותו דבר רק שם את הפונקציה בסוגריים

preg_replace_callback($pattern,  'myfunction' , $string)


הבנתי נכון ?

avatar ענה OrelBeY ב 14 לפברואר 2013 #

כן, או שאתה יכול להגדיר אותה בו במקום. (פונקציה אנונימית)

preg_replace_callback($pattern, function ($match_array) { }, $string)